package com.xnyzc.lhy.order.service.driver;

import com.xnyzc.lhy.common.entity.Rv;
import com.xnyzc.lhy.order.entity.param.auth.SmsCode;
import org.springframework.web.multipart.MultipartFile;

import java.util.*;

/**
 * 司机个人信息
 * zhuyibin
 */
public interface IOaDPersonalDetailsService {

    /**
     * 司机设置个人中心获取页面数据
     * @param driverId 司机id
     * @param userType 用户类型
     * @return
     */
    Map<String, Object> getPersonalDetails(Long driverId, Integer userType);

    /**
     * 司机设置个人中心获取页面数据(闪电)
     * @param driverId 司机id
     * @return
     */
    Map<String, Object> getPersonalDetails(Long driverId);

    /**
     * 司机个人中心获取车辆资料
     * @param driverId 司机ID
     * @return
     */
    Rv getCarDetails(Long driverId);

    /**
     * 获取司机手机号码
     * @param driverId 司机ID
     * @return
     */
    Rv getDriverPhone(Long driverId);

    /**
     * 验证手机号
     * @param smsCode
     * @return
     */
    Rv checkPhoneCode(SmsCode smsCode);

    /**
     * 清除每月司机可修改手机号次数
     * @return
     */
    void reFushUpdatePhoneCount();

    Rv signOut();

    /**
     * 司机切换头像
     * @param file 头像文件
     * @return
     */
    Rv updateHead(MultipartFile file);

    /**
     * 司机状态检查
     * @return
     */
    Rv statusCheck();
}
